// on-emit 发布订阅 模式
/**
 * on
 *  就是把一些函数维护到一个数组中
 * emit
 *  就是让数组中的方法依次执行
 */

let fs = require('fs')
// 租赁 房屋

let event = {
    // 订阅 和 发布 没有明显的 关联, 靠中介 来实现
    arr: [],
    on(fn) {
        this.arr.push(fn)
    },
    emit(fn){
        this.arr.forEach(fn => fn())
    },
}

event.on(function() {
    console.log('读取啦一个')
})
event.on(function() {
    if(Object.keys(school).length === 2) {
        console.log(school)    
    }
})

let school = []
fs.readFile('./node/name.txt', 'utf8', function (err, data) {
    school.name = data
    event.emit()
})

fs.readFile('./node/age.txt', 'utf8', function (err, data) {
    school.age = data
    event.emit()
})
